package tt.com.common.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.baomidou.mybatisplus.annotation.IEnum;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @author Czycka
 * @date 2022/8/21 17:32
 * @description 库存操作类型枚举
 */
@AllArgsConstructor
@Getter
public enum StockEnum implements CodeEnum, IEnum<Integer> {
    /**
     * 退货入库
     */
    IN_RETURN(0,"退货入库"),
    /**
     * 正常入库
     */
    IN_NORMAL(1,"正常入库"),
    /**
     * 调拨入库
     */
    IN_MOBILIZE(2,"调拨入库"),
    /**
     * 销售出库
     */
    OUT_SELL(3,"销售出库"),
    /**
     * 调拨出库
     */
    out_mobilize(4,"调拨出库"),
    /**
     * 正常出库
     */
    out_normal(5,"正常出库");

    /**
     * 仓库操作状态码
     */
    @EnumValue
    private Integer code;
    /**
     * 仓库操作类型
     */
    @JsonValue
    private String type;

    @Override
    public Integer getValue() {
        return code;
    }
}
